SophosUTMをActive Directory連携させて特定ADグループのユーザーにのみSSL-VPNを許可する
はじめに
こんにちは植木和樹@上越妙高オフィスです。クラスメソッドではSophosUTMを使ってリモートワーカー用にSSL-VPN環境を提供しています。
Sophosでは内部でユーザーを管理しローカル認証を行うことができます。しかしユーザー数が増えてくると社員の入退社のたびに追加・削除が必要になり運用負荷になってしまいます。 そこで今回はSophosをActive Directory(AD)と連携させ、特定のグループに所属するユーザーにのみSSL-VPNを許可してみました。
対象読者
SophosによるSSL-VPNの設定が行える方を対象にしています。未経験の方は下記を参考にしてください。
参考サイト
使用ソフトウェア
- SophosUTM 9.411 Network Protection
- Windows Server 2012 R2
認証と利用許可の仕組み
今回の仕組みは大まかにいうと下記のような流れになります。
- ADで認証されたユーザーは自動的にSophosの Active Directory Users グループに所属します。
- この時Active Directory Users グループへ所属できるユーザーは、ADで特定のグループに所属したユーザーにのみに制限します
- SSL-VPNの設定で Active Directory Users に利用を許可するプロファイルを作成します。
これによりSSL-VPNの利用を許可するユーザーをADの特定グループへ所属させるだけで良く、Sophos側へのユーザー追加作業は不要になります。
設定手順
今回設定するにあたって必要な情報は下記の通りです。AD連携用の管理ユーザー "sophos" は事前に作成して適切な管理者権限(Administrators)を与えておきましょう。
項目 | 設定値 |
---|---|
ADドメイン | cm.local |
ADドメインコントローラー | cmdc01 |
AD 連携用の管理ユーザー | sophos |
AD VPN利用を許可するグループ | CM Group / CM / CM SophosVPN |
1. Active Directoryを認証サーバーに設定する
Sophosの管理画面にログインします。
"Definitions & Users" - "Authentication Services" の "Servers" タブを開き New Authentication Server ボタンをクリックします。
まずADサーバーの指定等、基本部分を設定します。
Backend | Active Directory | "Active Directory"を選択します。 |
---|---|---|
Position | 1 | AD認証を最優先にします。 |
Server | cmdc01 | ドメインコントローラーを指定します。+をクリックすると新しいサーバーを定義できます。 |
SSL | チェックしない | 今回SophosとADは同一VPC内にあるのでSSLは利用しません。 |
Port | 389 | LDAPのデフォルトポート(tcp/389)のままでOKです。 |
次にSophos → AD認証を行なう際に利用する管理ユーザーを設定します。
Bind DN | CN=sophos,OU=Admin Users,DC=cm,DC=local | Sophos AD連携用に管理ユーザー(sophos)を作成したのでそれを指定します |
---|---|---|
Password | ******** | sophosユーザーのパスワードを指定します |
AD連携用ユーザーのDN(Distinguished Name:識別名)は dsquery コマンドで調べることができます。
> dsquery user -name sophos "CN=sophos,OU=Admin Users,DC=cm,DC=local"
設定したら Test server settings をクリックして問題なく接続できる確認しましょう。
最後にユーザー認証に必要な情報を設定します。
Base DN | DC=cm,DC=local | ユーザーや後述するVPN許可グループを検索するルートとなるパスを設定します。 |
---|
設定したら自分のADのアカウント名とパスワードを入力してAuthenticate example userをクリックして検索できるか確認しましょう。
最終的には下図のような設定になります。
2. ADユーザー認証後、自動的にSophosユーザーを作成する
"Definitions & Users" - "Authentication Services" の "Global Settings" タブにある Create users automatically のチェックをオンにします。
これでADでのユーザー認証が成功すると自動的にSophosユーザーが作成されるようになります。
3. Active Directory Users でADのグループを制限する
"Definitions & Users" - "Users & Groups" の "Groups" タブをみると Active Directory Users グループが作成されています。(Sophos 9.4より前のバージョンでは手動で作成する必要があるかもしれません)
下記の画面を参考に、"CM Groups/CM/CM SophosVPN" をドラッグアンドドロップして、このADグループに所属しているユーザーにのみがActive Directory Usersに紐づくようにします。
ここで希望のグループ階層が表示されない場合は手順1のAD設定で指定した Base DN を見直してみましょう。
4. SSL-VPNのプロファイルを作成する
"Remote Access" - "SSL" の "Profiles" タブで新規SSL接続プロファイルを作成します。 "Users and Groups" に "Active Directory Users" を追加してください。
この設定により、"Active Directory Users"のユーザーにのみSSL-VPN接続を許可します。
動作確認
Sophosのユーザーポータルに接続して、ADのユーザー・パスワードでログインできることを確認します。 またVPN設定を行った後、やはりADのユーザー・パスワードでSSL-VPNで接続できれば成功です!
まとめ
今回はActive Directoryの認証基盤を使ったSophosでのユーザー認証の設定についてまとめました。
昨今の企業ではたくさんのアプリケーションやサービスを使って業務を行っています。それぞれでユーザー管理をしていると利用する側も管理する側も大変です。また認証がバラバラだとセキュリティー的に弱いところを攻撃されてしまいます。
なるべく認証は集中管理し、その部分を堅牢にすることで安全な認証基盤を構築したいですね。